有必要么……直接打个电话给零售商:”我的牛奶不对,不要收牛奶!”不久可以了吗……
(好了好了这是扯淡)
显然这个运输图的 $1$ 号点就是公司发送牛奶的地方,$n$ 号点就是零售商,然后每一条边就是这个货车的出发点与到达点,边权即为拦截这个货车的代价。
然后呢?
最小的损失……使 $1$ 到不了 $n$ ,这显然就是最小割啊 $QwQ$
那么这样损失数就很容易得到了,那么最少要停的卡车数怎么求呢?很显然,我们任然跑最小割,那么这个图我们将所有边都设为 $1$ ,显然现在的最小割就是最少要停的卡车数。
很显然,时间爆炸,满屏惊喜!
这里有一种方法!我们设一个常数 $T$ ,假设当前边的边权是 $w$ ,那么我们实际连一条边权为 $w \times T+1$ 的边,其中最小损失数显然为 $maxflow/T$ ,那么最少要停的卡车数呢?显然就是 $maxflow\ \%\ T$。
这里的 $T$ 要足够大,否则如果每条边后面的 $+1$ 乘上割的边数大于了 $T$ ,然后 $\%$ 一下,恭喜你!你 $GG$ 了。实际上 “足够大” 只要大于边数就好了,显然这样子建边是要开 $long long$ 的,否则会炸。
Code:
1 |
|
本文标题:【题解】 [USACO4.4]Pollutant Control 网络流 luoguP1344
文章作者:Qiuly
发布时间:2019年02月24日 - 00:00
最后更新:2019年03月29日 - 13:52
原始链接:http://qiulyblog.github.io/2019/02/24/[题解]luoguP1344/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。